This invention relates to a servomotor drive control system in which a microprocessor is utilized as a servo-control unit.
In order to control a multiple-axis machine tool or the like with a high degree of accuracy, use is made of a servomotor driven by a command signal from a numerical control unit (hereafter referred to as an NC unit) or the like. Conventionally, servomotors of this type are driven by analog servo systems. However, with the progress that has recently been made in the technical development of computer control, various expedients dealing with the question of how to control a plurality of servomotors efficiently by a single control unit have been devised.
A microprocessor generally has its operation decided by a control program. By creating a control program to conform to the control configuration, therefore, various types of servo control can be realized by one and the same servo-control unit, as is well known.
FIG. 2 is a block diagram illustrating the general features of a servomotor control circuit of this type. As shown in the Figure, a main CPU 1 of microprocessor construction, which is for reading in input data and executing predetermined processing, and a plurality of shared RAMs 2, are connected to an NC unit side by a data bus B1. A servo-control CPU 3 of microprocessor construction is connected to each of the shared RAMs 2 via a bus B2 and outputs an analog signal indicative of a velocity command to each servoamplifier 4 associated with a servomotor. The servoamplifier 4 comprises a velocity control circuit 5, a current control circuit 6 and an inverter 7 and subjects a servomotor 8 to prescribed feedback control on the basis of current, position and velocity.
Each shared RAM 2 is for an exchange of data between the main CPU 1 and the servo-control CPU 3. For example, a signal indicative of the position of the servomotor 8 is temporarily stored in the shared RAM 2 through the servo-control CPU 3, and the main CPU 1 reads out this stored value to perform display processing and the like. Further, a position command signal from the main CPU 1 is temporarily stored in the shared RAM 2 and the servo-control CPU 3 reads out this stored value and outputs a velocity command to the servoamplifier 8.
In a servomotor drive control system thus constructed, it can be arranged so that the same hardware will suffice regardless of whether the servomotor is of the AC or DC type if a so-called "soft" servo system is adopted in which all control functions, except for that of the inverter in the servoamplifier, are replaced by a microprocessor and the amplifier function is provided on the side of the NC unit. This is so because the only difference between AC and DC motor control is that the PWM signals applied to the driven inverter either will be required in three phases, thus requiring that six signals be used, or in one phase, in which case only two signals will suffice. However, in a case where an AC synchronous servomotor is to be subjected to current control by a microprocessor, the frequency characteristic of the current loop must be made faster by about one digit place than the frequency characteristics of the position and velocity loops, as shown in FIG. 3(a). Consequently, even though processing for position control and velocity control is performed at a period of e.g., 1 ms, processing for current control must be executed at a period of 166 .mu.s, which is 1/6 of the above. Moreover, since response cannot be neglected, the periods of position control and velocity control cannot be lengthened in order to raise torque efficiency.
If the servomotor motor is of the DC type, on the other hand, the frequency characteristic of the current loop should be slowed down. For example, if the period is made 333 .mu.s, as shown in FIG. 3(b), a plurality of servomotors can be controlled by a single servo CPU even if control is exercised by a processor having the same processing speed. Nevertheless, the processor cannot be made to demonstrate its processing capability with the same type of hardware arrangement.